<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>发布订阅消息</title>
</head>
<body>
    <script type="module">
        // import {eventEmit} from './js/09_EventEmitter/EventEmitter.js'

        // 第1次手写
        // import {eventEmit} from './js/09_EventEmitter/EventEmitter1.js'

        // 第2次手写
        // import {eventEmit} from './js/09_EventEmitter/EventEmitter2.js'

        // 第3次手写
        import {eventEmit} from './js/09_EventEmitter/EventEmitter3.js'

        eventEmit.on('btnClicked', (res) => {
            console.log(res.count)
        })
        eventEmit.on('timeOut', (res) => {
            console.log(res.b)
        })
        const obj = {
            count: 0,
            b: ['aa, bb, cc'],
            c: {
                c1: 'c1',
                c2: 'c2'
            }
        }
        setTimeout(() => {
            obj.count++
            eventEmit.emit('btnClicked', obj)
            eventEmit.emit('timeOut', obj)
            setTimeout(() => {
                obj.count++
                eventEmit.emit('btnClicked', obj)
                eventEmit.emit('timeOut', obj)
                setTimeout(() => {
                    obj.count++
                    eventEmit.emit('btnClicked', obj)
                    eventEmit.emit('timeOut', obj)
                }, 2000);
            }, 1000);
            setTimeout(() => {
                eventEmit.off('btnClicked')
                // eventEmit.removeAllListeners()
            }, 1000);
        }, 0);
    </script>
</body>
</html>